// 统一的图标映射工具
// 将数据库中的图标名称映射到Element Plus图标组件

export const getIconComponent = (iconName) => {
  // 根据数据库中的图标名称映射到Element Plus图标组件
  const iconMap = {
    // 系统管理相关
    'setting': 'Setting',
    'system': 'Setting',
    
    // 用户相关
    'user': 'User',
    'user-circle': 'UserFilled',
    'user-switch': 'SwitchButton',
    'usergroup-add': 'UserFilled',
    
    // 角色权限相关
    'team': 'Users',
    'safety-certificate': 'Lock',
    'key': 'Key',
    'control': 'Tools',
    
    // 分组相关
    'apartment': 'OfficeBuilding',
    
    // 菜单相关
    'menu': 'Menu',
    
    // 仪表盘
    'dashboard': 'Odometer',
    
    // 兼容旧的图标名称
    'users': 'Users',
    'settings': 'Setting',
    'profile': 'UserFilled',
    'role': 'UserFilled',
    'house': 'House',
    
    // 其他常用图标
    'document': 'Document',
    'folder': 'Folder',
    'edit': 'Edit',
    'delete': 'Delete',
    'view': 'View',
    'plus': 'Plus',
    'search': 'Search',
    'refresh': 'Refresh',
    'download': 'Download',
    'upload': 'Upload',
    'tools': 'Tools',
    'monitor': 'Monitor',
    'data-analysis': 'DataAnalysis',
    'pie-chart': 'PieChart',
    'histogram': 'Histogram',
    
    // 操作相关
    'operation': 'Operation',
    'more': 'More',
    'filter': 'Filter',
    'sort': 'Sort',
    'export': 'Download',
    'import': 'Upload',
    
    // 状态相关
    'success': 'SuccessFilled',
    'error': 'CircleCloseFilled',
    'warning': 'WarningFilled',
    'info': 'InfoFilled',
    
    // 箭头相关
    'arrow-up': 'ArrowUp',
    'arrow-down': 'ArrowDown',
    'arrow-left': 'ArrowLeft',
    'arrow-right': 'ArrowRight',
    
    // 其他
    'close': 'Close',
    'check': 'Check',
    'star': 'Star',
    'heart': 'Heart',
    'message': 'Message',
    'notification': 'Bell',
    'calendar': 'Calendar',
    'clock': 'Clock',
    'location': 'Location',
    'phone': 'Phone',
    'email': 'Message',
    'link': 'Link',
    'share': 'Share',
    'copy': 'CopyDocument',
    'paste': 'Document',
    'cut': 'Scissors',
    'save': 'Folder',
    'print': 'Printer',
    'help': 'QuestionFilled',
    'question': 'Question'
  }
  
  return iconMap[iconName] || 'Document'
}

// 获取图标列表（用于开发调试）
export const getAvailableIcons = () => {
  return Object.keys(getIconComponent.iconMap || {})
}

// 验证图标是否存在
export const hasIcon = (iconName) => {
  const iconMap = {
    'setting': 'Setting',
    'system': 'Setting',
    'user': 'User',
    'user-circle': 'UserFilled',
    'user-switch': 'SwitchButton',
    'usergroup-add': 'UserFilled',
    'team': 'Users',
    'safety-certificate': 'Lock',
    'key': 'Key',
    'control': 'Tools',
    'apartment': 'OfficeBuilding',
    'menu': 'Menu',
    'dashboard': 'Odometer'
  }
  
  return iconName in iconMap
}